本发明的方法提供了自动和优化的网络拓扑选择,其用于在改进的网络拓扑中的节点上分配作业调度。所述自动和优化的网络拓扑选择从当前拓扑和希望的额外连接数开始。通过这种方式,本发明的方法为修改的一致性算法提供了例如与简单环形网络相比更快的收敛速度。所述方法利用所谓的小世界网络。所述小世界网络比其他网络体系结构的抗扰动能力更强。优选实施例提供了工作负载调度系统,该系统可高度伸缩以适应异构分布式计算环境中日益增加的工作负载。修改的平均一致性算法用于在多个节点之间分配网络流量和作业。
1.一种在N个连接在一起的节点的网络中用于根据改进的网络拓扑的计算执行作业的方法,所述改进的网络拓扑包括相对于当前拓扑额外的C个连接,所述方法包括以下步骤:-通过N×N拉普拉斯矩阵M表示N个节点的网络的当前拓扑,其中值l
i,j通过以下公式定义:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>其中deg(v
i)是与节点i相连的节点数,并且其中l<=i<=N且l<=j<=N;-计算具有Tr(M
1)=Tr(M)+C*2并且具有最大可能的次小特征值的N×N拉普拉斯矩阵M
1;-通过根据计算的N×N拉普拉斯矩阵M
1添加C个额外连接,将网络拓扑修改为改进的拓扑;-从所述改进的网络拓扑开始在所述改进的网络拓扑中的节点上分配作业调度;其中,所述分配作业调度基于修改的平均一致性算法,并且该修改的平均一致性算法中,包含虚拟节点V,所述虚拟节点V直接与虚拟网络内的其他所有节点相连,并且包括在虚拟网络中每个节点的邻近节点内,虚拟节点V具有用户可配置的固定状态,该状态表示虚拟网络中所有节点的希望工作负载,其中节点i通过下面的项计算其下一状态(state
i(k+1)):-其当前状态(state
i(k));以及-位于其邻近节点i中的其他节点的当前状态,使用以下公式表示:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>
2.如权利要求1中所述的方法,其中所述改进的网络拓扑为小世界网络。
3.如权利要求1所述的方法,其中所述计算具有Tr(M
1)=Tr(M)+C*2并且具有最大可能的次小特征值的N×N拉普拉斯矩阵M
1包括应用Kim-Mesbahi算法。
4.如权利要求中1-3之一所述的方法,进一步包括以下步骤:-提示用户输入希望的C个额外连接数的值。
5.如权利要求1-3之一所述的方法,进一步包括以下步骤:-监视网络性能以度量指示网络效率的值;-根据所述度量的效率确定所述C个额外连接数。
6.如权利要求1至3中任一权利要求中所述的方法,其中所述在改进的网络拓扑中的节点上分配作业调度的步骤包括:-针对网络拓扑内的网络确定希望的至少一个操作资源值;-通过网络中至少某些节点上执行的一个或多个作业,确定所述至少某些节点的资源的当前使用量;-通过节点资源的当前使用量和希望的操作点计算网络中每个节点的预计状态值;以及-当所述节点的预计状态值显著超过所述节点资源的当前使用量时,选择网络中的一个节点将接下来执行的另一作业。
7.如权利要求6中所述的方法,其中所述确定网络中至少一些节点的资源的当前使用量的步骤包括从监视软件收集的资源消耗度量中获取有关当前资源使用量的信息的步骤。
8.如权利要求6所述的方法,其中当所述节点的预计状态值显著超过所述节点资源的当前使用量时,选择由其执行的作业,该作业的资源需求最接近所述节点的预计状态值与所述节点资源的当前使用量之差。
9.如权利要求7所述的方法,其中当所述节点的预计状态值显著超过所述节点资源的当前使用量时,选择由其执行的作业,该作业的资源需求最接近所述节点的预计状态值与所述节点资源的当前使用量之差。
10.一种在N个连接在一起的节点的网络中用于根据改进的网络拓扑的计算执行作业的系统,所述改进的网络拓扑包括相对于当前拓扑额外的C个连接,所述系统包括:-用于通过N×N拉普拉斯矩阵M表示N个节点的网络的当前拓扑的装置,其中值l
i,j通过以下公式定义:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>其中deg(vi)是与节点i相连的节点数,并且其中l<=i<=N且l<=j<=N;-用于计算具有Tr(M
1)=Tr(M)+C*2并且具有最大可能的次小特征值的N×N拉普拉斯矩阵M
1的装置;-用于通过根据计算的N×N拉普拉斯矩阵M
1添加C个额外连接,将网络拓扑修改为改进的拓扑的装置;-用于从所述改进的网络拓扑开始在所述改进的网络拓扑中的节点上分配作业调度的装置;其中,所述用于从所述改进的网络拓扑开始在所述改进的网络拓扑中的节点上分配作业调度的装置中的分配作业调度基于修改的平均一致性算法,并且该修改的平均一致性算法中,包含虚拟节点V,所述虚拟节点V直接与虚拟网络内的其他所有节点相连,并且包括在虚拟网络中每个节点的邻近节点内,虚拟节点V具有用户可配置的固定状态,该状态表示虚拟网络中所有节点的希望工作负载,其中节点i通过下面的项计算其下一状态(state
i(k+1)):-其当前状态(statei(k));以及-位于其邻近节点i中的其他节点的当前状态,使用以下公式表示:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>
11.如权利要求10中所述的系统,其中所述改进的网络拓扑为小世界网络。
12.如权利要求10所述的系统,其中所述计算具有Tr(M
1)=Tr(M)+C*2并且具有最大可能的次小特征值的N×N拉普拉斯矩阵M
1包括应用Kim-Mesbahi算法。
13.如权利要求中10-12之一所述的系统,进一步包括:-用于提示用户输入希望的C个额外连接数的值得装置。
14.如权利要求10-12之一所述的系统,进一步包括:-用于监视网络性能以度量指示网络效率的值的装置;-用于根据所述度量的效率确定所述C个额外连接数的装置。
15.如权利要求10至12中任一权利要求中所述的系统,其中所述用于通过根据计算的N×N拉普拉斯矩阵M
1添加C个额外连接,将网络拓扑修改为改进的拓扑的装置包括:-用于针对网络拓扑内的网络确定希望的至少一个操作资源值的装置;-用于通过网络中至少某些节点上执行的一个或多个作业,确定所述至少某些节点的资源的当前使用量的装置;-用于通过节点资源的当前使用量和希望的操作点计算网络中每个节点的预计状态值的装置;以及-用于当所述节点的预计状态值显著超过所述节点资源的当前使用量时,选择网络中的一个节点将接下来执行的另一作业的装置。
16.如权利要求15中所述的系统,其中所述用于通过网络中至少某些节点上执行的一个或多个作业,确定所述至少某些节点的资源的当前使用量的装置包括:用于从监视软件收集的资源消耗度量中获取有关当前资源使用量的信息的装置。
17.如权利要求15所述的系统,其中所述用于当所述节点的预计状态值显著超过所述节点资源的当前使用量时,选择网络中的一个节点将接下来执行的另一作业的装置包括:用于当所述节点的预计状态值显著超过所述节点资源的当前使用量时,选择由其执行的作业,该作业的资源需求最接近所述节点的预计状态值与所述节点资源的当前使用量之差的装置。
18.如权利要求16所述的系统,其中当所述节点的预计状态值显著超过所述节点资源的当前使用量时,选择由其执行的作业,该作业的资源需求最接近所述节点的预计状态值与所述节点资源的当前使用量之差。
技术领域本发明涉及计算机网络领域,更具体地说,本发明涉及分布式计算环境中的作业调度系统。
背景技术在多个与网络相连的资源之间进行作业调度和工作负载平衡是IT环境中日益重要的工作。许多网格计算环境是由跨分布式资源集(例如,计算、存储、通信能力、软件许可、特殊设备等)调度工作来驱动的。本质上,调度是一个最优化问题,当只涉及一种资源类型时,此问题非常简单。但是,尽管可以通过在调度过程中包含更多资源变量来实现进一步的性能改进,所导致的多变量最优化便成为困难的数学问题。现有的作业调度系统一般采用主控/代理(master/agent)体系结构,其中通过中央服务器(称为“主”服务器)设置、调度和管理作业。实际工作由安装在其他服务器上的代理完成。在使用中,主控维护和解释与作业、可用服务器等相关的信息,以便确定分配作业到何处。接着,代理等待来自主控的命令,执行所述命令,然后将退出码返回到主控。尽管主控/代理体系结构允许严密控制作业,该体系结构的一个严重限制是需要主控和代理保持同步(以及相应的对网络和主控的可用性的依赖)。与此相关地,主控和代理之间网络流量高度集中的特性可能降低该体系结构的整体性能。另一问题是主控/代理体系结构的伸缩性有限。具体来说,主控只能支持有限数量的代理并且创建新的主控或实例会产生新的单独管理,从而会创建的实例越多,管理活动变得越复杂。由同一申请人在2008年4月15日提交的编号为08154507.1的欧洲专利申请披露了可高度伸缩以适应异构分布式计算环境内不断增加的工作负载的工作负载调度系统。更具体地说,优选实施例采用修改的平均一致性(consensus)算法以在多个计算机之间平均分配网络流量和作业。每个计算机的状态信息会通过修改的平均一致性算法传播到其余的计算机,从而通过允许各个计算机自己选择使自身资源的希望使用量与作业所需的资源最佳地匹配的作业来使优选实施例摒弃对主计算机的需要。上述方法的缺点是用户应该建立包括计算机逻辑拓扑的虚拟网络。换言之,由用户负责选择正确的拓扑,并且这可能带来危害网络效率的错误选择。希望能够引导用户执行此选择过程,如果能够依赖于根据预定参数确定最佳解决方案的可靠方法,则更好。本发明的目标是提供消除现有技术的上述缺点的技术。
发明内容在优选实施例中,本发明提供了一种在N个连接在一起的计算机的网络中用于根据改进的网络拓扑的计算执行作业的方法,所述改进的网络拓扑包括相对于当前拓扑额外的C个连接,所述方法包括以下步骤:通过N×N拉普拉斯矩阵M表示N个计算机的网络的当前拓扑,其中值l
i,j由以下公式定义:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>其中deg(v
i)是与节点i相连的节点数,并且其中l<=i<=N且l<=j<=N;然后计算N×N拉普拉斯矩阵M
1,其具有Tr(M
1)=Tr(M)+C*2并且具有最大可能的次小特征值;因此通过根据计算的N×N拉普拉斯矩阵M
1添加C个额外连接,将所述拓扑修改为改进的拓扑;然后从所述修改的网络拓扑开始以便在所述修改的网络拓扑中的计算机上分配作业调度。本发明的方法可以通过提供自动和优化的网络拓扑选择来帮助解决现有技术中的问题,所述自动和优化的网络拓扑选择从当前拓扑和希望的额外连接数开始。通过这种方式,本发明的方法为修改的一致性算法提供了一种例如与简单环形网络相比更高的收敛速度。所述方法利用所谓的小世界网络(smallxa0worldxa0network)。所述小世界网络比其他网络体系结构的抗扰动能力更强,实际上,在随机网络(其中所有节点具有大体相同的连接数)中,删除一个随机节点很可能会稍微增加平均最短路径长度,但是对于几乎任何被删除节点,会显著增加所述长度。从这方面而言,随机网络很容易受到随机扰动影响,而小世界网络便相对健壮。在本发明进一步的实施例中,提供了包括适合于实现上述方法的组件的系统。在另一实施例中,提供了当在计算机上运行时,实现上述方法的计算机程序。
附图说明通过参考附图,仅作为示例,将描述本发明的实施例,在这些附图中:图1是具有环形拓表示的优选实施例的工作负载调度系统的软件体系结构的方块图;图2示出根据本发明的方法修改后的图1中的拓扑;图3a和3b示出应用本发明方法的计算机网络的示例;图4是适合于支持优选实施例中工作负载调度方法的一般计算机系统的图表;以及图5示出表示执行根据本发明优选实施例的方法的步骤的流程图。
具体实施方式如图1所示,优选实施例100包括要在分布式异构网络103中执行的作业的储存库101。为简单起见,假设分布式网络103包括n个节点,其中每个节点(节点
i)拥有若干资源。优选实施例采用将更深入讨论的拓扑形成算法105;使用修改的平均一致性算法107来使得分布式网络103中的节点告知网络中的其他节点其当前状态以及执行新作业的可用性。优选实施例进一步包括作业选择模块109,该模块使得分布式网络103中的节点根据用户定义的每个节点(节点
i)的资源的希望使用量和作业(Job
k)的资源需求从作业储存库101中选择最佳作业(Job
k)。所述拓扑形成算法105建立包括分布式异构网络103中节点的逻辑拓扑的虚拟网络。在所述虚拟网络内,所述逻辑拓扑确定哪些节点可以相互通信。具体来说,通过定义所述逻辑拓扑,使得每个节点直接与j个邻近节点(其中j<n-1)相连(且可以与之通信)。因此,为节点
i提供邻居节点N
i,其中包括j个节点(节点
p,p=1至j)。与某个节点相连的节点数可以由用户定义,其中通过增加此类节点的数目,提高优优选实施例的容错能力(及收敛速度)。在本发明的优选实施例中,从诸如图1中的网络103的基本拓扑开始,用户可以根据监视的网络性能和流量指示若干额外连接。替代地,最佳额外连接数可以通过能够监视网络性能以评估网络效率和速度的监视工具进行确定;另外一种可能性是依赖先前度量的性能的统计。对基本拓扑施加的唯一条件是由虚拟网络构成的图必须是连通的,换言之,从每个节点开始,必须能够通过任意数量的步骤到达其他任何节点。在图1所示的环形拓扑中,每个节点只有两个连接和两个邻近节点。因此,例如,参考图1,节点
1直接与节点
2和节点
6相连。类似地,节点
2直接与节点
1和节点
3相连;以及节点
6直接与节点
1和节点
5相连。n个节点的任何拓扑都可以通过一n×n矩阵表示。图1中的示例可以通过下面的6×6矩阵M表示:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>此矩阵的特征值为:0、1、1、3、3和4。如Yoonsoonxa0Kim和Mehranxa0Mesbahi阐述的那样(请参阅Yoonsoonxa0Kim和Mehranxa0Mesbahi所著的–“Onxa0Maximizingxa0thexa0Secondxa0Smallestxa0Eigenvaluexa0ofxa0Statexa0Dependentxa0Graphxa0Laplacian”(论最大化状态相关图拉普拉斯的次小特征值)-IEEExa0TRANSACTIONSxa0ONxa0AUTOMATICxa0CONTROL,第51卷,第1期,2006年1月),给定图G具有n个节点(没有循环或多边),则其拉普拉斯矩阵L通过被定义为:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>其中deg(v
i)是与节点i相连的节点数,从当前拓扑(例如,上面表示的拉普拉斯矩阵M)开始并且假设在现有节点之间添加C个额外连接,则要解决的问题是找到迹(Tr)等于矩阵M的迹+C*2并且具有最大可能的次小特征值的拉普拉斯矩阵M
1;换言之:在其中Tr(M
1)=Tr(M)+C*2的所有可能的拉普拉斯矩阵中确定具有最大可能的次小特征值的矩阵M
1。在所引用的由Yoonsoonxa0Kim和Mehranxa0Mesbahi所著的文章中,阐述了使用所提出的协议,收敛速度与相关于新网络图的拉普拉斯的次小特征值成比例。因此,为了最大化收敛速度,可以使用Yoonsoonxa0Kim和Mehranxa0Mesbahi提出的方法,以便获取最佳逻辑拓扑来解决一致性问题。使用此方法,可以获取作为最佳小世界网络的逻辑拓扑。在数学和物理学中,小世界网络是这样一种数学图类型,其中多数节点并不相互为邻,但是多数节点可以从其他每个节点经少数跳转(hop)或步骤到达。通过这种方式,可以减少平均最短路径长度,从而状态传播速度更快。Yoonsoonxa0Kim和Mehranxa0Mesbahi提出的算法(Kim-Mesbahi算法)从具有初始图(配置)G0的时间t=0开始,然后针对t=0,1,2...,继续以迭代的方式查找最大化lambda_2(LG(t+1))的图,其中LG(t+1)是图G在时间t+1处的拉普拉斯。这个贪婪过程然后被迭代,直到无法进一步改进lambda_2(LG(t+1))的值。可注意到,所提出的贪婪算法收敛,因为产生它的序列是非减的和有界的。通过Yoonsoonxa0Kim和Mehranxa0Mesbahi描述的方法,从当前拓扑以及指示所请求的额外连接数开始,可以识别最佳拓扑以最大化收敛速度,即,表示拓扑的矩阵的次小特征值。将此算法应用于由上面的矩阵表示的环形拓扑,可以得到下面的新矩阵:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>这与图2中表示的拓扑对应。新矩阵的特征值为以下数:0、3、3、3、3和6,这表示收敛速度与3成比例(次小特征值)。当然应该理解,图1和图2示出的拓扑仅出于举例的目的给出,绝不应该被构想为将优选实施例限于环形拓扑。具体来说,技术人员将理解,优选实施例可以针对分布式网络103中的任何拓扑和节点数目实施(受制于上述连接限制)。图3a示出了另一个(更复杂的)示例。在此基本拓扑中,26个节点在环形配置中相连。此类配置通过次小特征值等于0.0581的26×26矩阵(此处未示出)表示。如果想要在此拓扑中另外添加6个连接并且应用Kim-Mesbahi算法,则会获得图3b所示的特征值等于0.2413的拓扑:这对应于高于前一个拓扑配置415%的一致性收敛速度,并且这是添加6个连接可以获取的最高值。虚拟网络中的每个节点(节点
i)包括指示节点上当前运行的作业占用节点资源的程度的已用资源状态变量。此信息可以从监视软件收集的实时资源消耗度量中获取。具体来说,将
Oi定义为与给定资源向量
resi关联的消耗度量向量,可以通过标量变量State
i给出给定节点资源被(当前运行的作业)占用的程度,该标量变量是节点(节点
i)的资源变量的消耗度量的加权和(即,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="508"/>或在向量记法中为state=O
Tdiag(a),其中state∈R
nxl,O∈R
rxn以及
α∈R
rxy)。优选实施例中修改的平均一致性算法16允许节点在整个虚拟网络中传播此信息,甚至将信息传播到并未与始发节点直接相连的节点。可以使用类似的记法描述(位于作业储存库中的)特定作业的需求。具体来说,作业(Job
q)的净需求(e
q)可以定义为
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="502"/>如在编号为08154507.1的欧洲专利申请中所述,作业调度器基于被称为一致性算法的修改版本。图的平均一致性模型提供了计算图演化的分布式方法,其中将u
i输入节点
i及其邻近节点(N
i)。因此,如果节点
i的State
i的演化可以通过
state i ′ = fi ( state i ) + μi ( state i , state p ) , ]]>p=1至j,
∈ N i ⇒ state i ′ = μi ( state i , state p ) ]]>表示,则可以表明
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="700"/>(连续解)或
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="700"/>(离散解)渐近地将一致性问题解决为相连的图。因此,动态系统收敛到初始状态的平均值,
lim t → ∞ state i = 1 j Σ p = 1 j stat e p ( o ) ]]>(连续接)或
lim t → ∞ state i = 1 j Σ p = 1 j stat e p ( o ) ]]>(离散解),其中这些极限的证明因此通过相关尼奎斯特图导出。优选实施例通过引入虚拟节点V(未示出)修改了上述传统平均一致性算法,所述虚拟节点直接与虚拟网络内的其他所有节点相连。因此,虚拟节点V包括在节点
i的邻近节点N
i内。使用此方法,每个节点(节点
i)通过下面的项计算其下一状态(state
i(k+1)):-其当前状态(state
i(k));以及-位于其邻近节点N
i中的其他节点(包括虚拟节点V)的当前状态,使用以下公式表示:
![]()
ntent="drawing" img-format="tif" inline="no" orientation="portrait" wi="700"/>虚拟节点V具有用户可配置的固定状态,该状态表示虚拟网络中所有节点的希望工作负载。将虚拟节点V包括在虚拟网络中每个节点的邻近节点内可使针对虚拟网络中其他所有节点的平均一致性算法根据虚拟节点V的固定状态进行平衡并且收敛到此状态(其中收敛速度与网络图的拉普拉斯相关)。因此,通过使虚拟节点V的状态能够由用户配置,优选实施例有效地提供了调整工作负载调度以满足虚拟网络中节点的希望资源使用量(即,操作点(operatingxa0point))(即,有效地更改虚拟网络的操作点)的机制。作业选择模块109使得节点(节点
i)根据节点的当前状态及其计算的下一状态(从作业储存库10)选择下一个要执行的作业。具体来说,如果state
i(k+1)<state
i(k),则在下一迭代中,节点不会执行任何新作业。但是,如果state
i(k+1)≥state
i(k),则将差变量Δ定义为Δ=state
i(k+1)<state
i(k)(即,计算的节点
i的下一状态与该节点的当前状态之差)。(从作业储存库)选定的下一作业(job
k+1)为作业(job
t),其净需求变量(e
t)具有与差变量Δ的最小差(即,e
t|min
t(Δ-e
t))。现在参考图4,系统的通用计算机(例如,计算机、因特网服务器、路由器、远程服务器)由450表示。计算机450由平行地与系统总线453连接的多个单元组成。详细地说,一个或多个微处理器456控制计算机450的操作;RAM459由微处理器456直接用作工作存储器,以及ROM462存储用于计算机450的引导的基本代码。外围单元(通过各个接口)聚集在本地总线465的周围。特别是,海量存储由硬盘468和用于读取CD-ROM474的驱动器471组成。而且,计算机450包括输入设备477(例如,键盘和鼠标)和输出设备480(例如,监视器和打印机)。网络接口卡483用于连接计算机450和网络。桥接单元486将系统总线453和本地总线465接口连接在一起。微处理器456和桥接单元486中的每个可以作为请求访问系统总线453以发送信息的主代理运行。仲裁器489管理授予对系统总线453的互斥访问。如果系统具有不同的拓扑,或者系统基于其他网络,类似的考虑也适用。替代地,计算机可以具有不同的结构,包括等效的单元,或者由其他数据处理实体(例如,PDA、移动电话等)组成。图5示意性地示出根据本发明的优选实施例的方法步骤(500)。过程从步骤501开始,并且继续到步骤503,在此确定网络的当前拓扑并如上所述通过矩阵M表示该拓扑。根据本发明的优选实施例,矩阵M的维数为n×n,其中n是网络中的节点数。在步骤503,允许网络用户(或管理员)指示需要多少额外连接。对所需额外连接数的确定可以考虑多个参数(例如,网络流量、系统性能、网络的地理配置)并且可以通过多种不同的方式确定;本领域的技术人员将理解,此确定可以通过现有的工具实现,甚至可以由管理员人工指示。还可以通过能够监视网络性能以评估网络效率和速度的监视工具确定最佳额外连接数;另一种可能是依赖先前度量的性能的统计。矩阵M和所需的额外连接数然后输入Kim-Mesbahi,其能够通过查找具有所有可能解中的最大次小特征值的矩阵M
1确定最佳网络拓扑。在本发明的优选实施例中,过程继续如上所述执行作业调度过程(步骤509),此过程基于修改的一致性算法。可选地(步骤511),监视新网络的性能以确定它们是否令人满意。如果确定它们令人满意,则可以继续正常的作业调度活动,否则考虑对网络执行新的重配置,并且控制返回到步骤505。另一可能的替代方法是以1为单位递增额外连接,直到在步骤511确定性能令人满意。可以做出更改和修改。而不偏离本发明的精神的情况。自然地,为了满足本地需求和特定需求,本领域的技术人员可以对上述解决方案做出多种修改和更改。具体来说,尽管参考本发明的优选实施例在一定详细程度上对本发明进行了描述,但应该理解,在形式和细节方面的各种删除、替换和更改以及其他实施例是可能的;而且,作为设计选择的一般工作,很明显可以将结合任何公开的发明实施例描述的具体部件和/或方法步骤并入其他任何实施例中。例如,如果计算机具有不同的结构或者包括等效的单元,则类似的考虑也适用;在任何情况下,都可以使用任何代码执行实体(例如,PDA、移动电话等)替代计算机。如果以不同的方式构建程序(其用于实现本发明的每个实施例),或者如果提供其他模块或功能,则类似的考虑也适用;同样,存储结构可以具有其他类型,或者可以通过等效的实体(不一定包括物理存储介质)来替代。而且,所提出的解决方案可以通过等效的方法(具有类似步骤或附加步骤,甚至采用不同的顺序)实现。在任何情况下,程序都可以采取适合于由任何数据处理系统使用或与所述任何数据处理系统结合的任何形式,例如外部或驻留软件、固件或微代码(位于目标代码或源代码中)。而且,程序可以在任何计算机可用介质上提供;所述介质可以是任何适合于包含、存储、传送、传播或传输程序的元件。此类介质的示例包括固定盘(其中可以预加载程序)、可移动盘、带、卡、线、光纤、无线连接、网络、广播波等;例如,所述介质可以是电、磁、光、电磁、红外线或半导体类型。在任何情况下,根据本发明的解决方案可以通过硬件结构(例如,集成在半导体材料的芯片中),或通过软件和硬件的组合来实现。